package com.gitee.qdbp.general.system.api.permission.model;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import com.gitee.qdbp.base.system.model.IAccountType;

/**
 * 角色信息查询类
 *
 * @author zhh
 * @version 180514
 */
public class RoleCoreWhere extends RoleCoreBean {

    /** 版本序列号 **/
    private static final long serialVersionUID = 1L;

    /** 角色ID列表 **/
    private List<String> ids;

    /** 角色ID前模匹配条件 **/
    private String idStarts;

    /** 角色ID后模匹配条件 **/
    private String idEnds;

    /** 角色ID模糊查询条件 **/
    private String idLike;

    /** 租户编号空值/非空值查询 **/
    private Boolean tenantCodeIsNull;

    /** 租户编号前模匹配条件 **/
    private String tenantCodeStarts;

    /** 租户编号后模匹配条件 **/
    private String tenantCodeEnds;

    /** 租户编号模糊查询条件 **/
    private String tenantCodeLike;

    /** 用户类型空值/非空值查询 **/
    private Boolean userTypeIsNull;

    /** 用户类型列表 **/
    private List<IAccountType> userTypes;

    /** 角色名称空值/非空值查询 **/
    private Boolean roleNameIsNull;

    /** 角色名称前模匹配条件 **/
    private String roleNameStarts;

    /** 角色名称后模匹配条件 **/
    private String roleNameEnds;

    /** 角色名称模糊查询条件 **/
    private String roleNameLike;

    /** 描述空值/非空值查询 **/
    private Boolean roleDescIsNull;

    /** 描述前模匹配条件 **/
    private String roleDescStarts;

    /** 描述后模匹配条件 **/
    private String roleDescEnds;

    /** 描述模糊查询条件 **/
    private String roleDescLike;

    /** 排序号(越小越靠前)空值/非空值查询 **/
    private Boolean sortIndexIsNull;

    /** 最小排序号(越小越靠前) **/
    private Integer sortIndexMin;

    /** 最大排序号(越小越靠前) **/
    private Integer sortIndexMax;

    /** 创建人ID空值/非空值查询 **/
    private Boolean creatorIdIsNull;

    /** 创建人ID前模匹配条件 **/
    private String creatorIdStarts;

    /** 创建人ID后模匹配条件 **/
    private String creatorIdEnds;

    /** 创建人ID模糊查询条件 **/
    private String creatorIdLike;

    /** 创建人姓名空值/非空值查询 **/
    private Boolean creatorNameIsNull;

    /** 创建人姓名前模匹配条件 **/
    private String creatorNameStarts;

    /** 创建人姓名后模匹配条件 **/
    private String creatorNameEnds;

    /** 创建人姓名模糊查询条件 **/
    private String creatorNameLike;

    /** 最小创建时间 **/
    private Date createTimeMin;

    /** 最大创建时间 **/
    private Date createTimeMax;

    /** 最小创建时间 **/
    private Date createTimeMinWithDay;

    /** 最大创建时间 **/
    private Date createTimeMaxWithDay;

    /** 默认角色(如果用户没有任何角色,默认会赋予该角色)空值/非空值查询 **/
    private Boolean defaultsIsNull;

    /** 选项空值/非空值查询 **/
    private Boolean optionsIsNull;

    /** 获取角色ID列表 **/
    public List<String> getIds() {
        return ids;
    }

    /** 设置角色ID列表 **/
    public void setIds(List<String> ids) {
        this.ids = ids;
    }

    /** 增加角色ID **/
    public void addId(String... ids) {
        if (this.ids == null) {
            this.ids = new ArrayList<>();
        }
        this.ids.addAll(Arrays.asList(ids));
    }

    /** 获取角色ID前模匹配条件 **/
    public String getIdStarts() {
        return idStarts;
    }

    /** 设置角色ID前模匹配条件 **/
    public void setIdStarts(String idStarts) {
        this.idStarts = idStarts;
    }

    /** 获取角色ID后模匹配条件 **/
    public String getIdEnds() {
        return idEnds;
    }

    /** 设置角色ID后模匹配条件 **/
    public void setIdEnds(String idEnds) {
        this.idEnds = idEnds;
    }

    /** 获取角色ID模糊查询条件 **/
    public String getIdLike() {
        return idLike;
    }

    /** 设置角色ID模糊查询条件 **/
    public void setIdLike(String idLike) {
        this.idLike = idLike;
    }

    /** 判断租户编号是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getTenantCodeIsNull() {
        return tenantCodeIsNull;
    }

    /**
     * 设置租户编号空值查询(true:空值查询|false:非空值查询)
     *
     * @param tenantCodeIsNull 租户编号空值查询
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setTenantCodeIsNull(Boolean tenantCodeIsNull) {
        this.tenantCodeIsNull = tenantCodeIsNull;
    }

    /** 获取租户编号前模匹配条件 **/
    public String getTenantCodeStarts() {
        return tenantCodeStarts;
    }

    /** 设置租户编号前模匹配条件 **/
    public void setTenantCodeStarts(String tenantCodeStarts) {
        this.tenantCodeStarts = tenantCodeStarts;
    }

    /** 获取租户编号后模匹配条件 **/
    public String getTenantCodeEnds() {
        return tenantCodeEnds;
    }

    /** 设置租户编号后模匹配条件 **/
    public void setTenantCodeEnds(String tenantCodeEnds) {
        this.tenantCodeEnds = tenantCodeEnds;
    }

    /** 获取租户编号模糊查询条件 **/
    public String getTenantCodeLike() {
        return tenantCodeLike;
    }

    /** 设置租户编号模糊查询条件 **/
    public void setTenantCodeLike(String tenantCodeLike) {
        this.tenantCodeLike = tenantCodeLike;
    }

    /** 判断用户类型是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getUserTypeIsNull() {
        return userTypeIsNull;
    }

    /**
     * 设置用户类型空值查询(true:空值查询|false:非空值查询)
     *
     * @param userTypeIsNull 用户类型空值查询
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setUserTypeIsNull(Boolean userTypeIsNull) {
        this.userTypeIsNull = userTypeIsNull;
    }

    /** 获取用户类型列表 **/
    public List<IAccountType> getUserTypes() {
        return userTypes;
    }

    /** 设置用户类型列表 **/
    public void setUserTypes(List<IAccountType> userTypes) {
        this.userTypes = userTypes;
    }

    /** 增加用户类型 **/
    public void addUserType(IAccountType... userTypes) {
        if (this.userTypes == null) {
            this.userTypes = new ArrayList<>();
        }
        this.userTypes.addAll(Arrays.asList(userTypes));
    }

    /** 判断角色名称是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getRoleNameIsNull() {
        return roleNameIsNull;
    }

    /**
     * 设置角色名称空值查询(true:空值查询|false:非空值查询)
     *
     * @param roleNameIsNull 角色名称空值查询
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setRoleNameIsNull(Boolean roleNameIsNull) {
        this.roleNameIsNull = roleNameIsNull;
    }

    /** 获取角色名称前模匹配条件 **/
    public String getRoleNameStarts() {
        return roleNameStarts;
    }

    /** 设置角色名称前模匹配条件 **/
    public void setRoleNameStarts(String roleNameStarts) {
        this.roleNameStarts = roleNameStarts;
    }

    /** 获取角色名称后模匹配条件 **/
    public String getRoleNameEnds() {
        return roleNameEnds;
    }

    /** 设置角色名称后模匹配条件 **/
    public void setRoleNameEnds(String roleNameEnds) {
        this.roleNameEnds = roleNameEnds;
    }

    /** 获取角色名称模糊查询条件 **/
    public String getRoleNameLike() {
        return roleNameLike;
    }

    /** 设置角色名称模糊查询条件 **/
    public void setRoleNameLike(String roleNameLike) {
        this.roleNameLike = roleNameLike;
    }

    /** 判断描述是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getRoleDescIsNull() {
        return roleDescIsNull;
    }

    /** 设置描述空值查询(true:空值查询|false:非空值查询) **/
    public void setRoleDescIsNull(Boolean roleDescIsNull) {
        this.roleDescIsNull = roleDescIsNull;
    }

    /** 获取描述前模匹配条件 **/
    public String getRoleDescStarts() {
        return roleDescStarts;
    }

    /** 设置描述前模匹配条件 **/
    public void setRoleDescStarts(String roleDescStarts) {
        this.roleDescStarts = roleDescStarts;
    }

    /** 获取描述后模匹配条件 **/
    public String getRoleDescEnds() {
        return roleDescEnds;
    }

    /** 设置描述后模匹配条件 **/
    public void setRoleDescEnds(String roleDescEnds) {
        this.roleDescEnds = roleDescEnds;
    }

    /** 获取描述模糊查询条件 **/
    public String getRoleDescLike() {
        return roleDescLike;
    }

    /** 设置描述模糊查询条件 **/
    public void setRoleDescLike(String roleDescLike) {
        this.roleDescLike = roleDescLike;
    }

    /** 判断排序号(越小越靠前)是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getSortIndexIsNull() {
        return sortIndexIsNull;
    }

    /** 设置排序号(越小越靠前)空值查询(true:空值查询|false:非空值查询) **/
    public void setSortIndexIsNull(Boolean sortIndexIsNull) {
        this.sortIndexIsNull = sortIndexIsNull;
    }

    /** 获取最小排序号(越小越靠前) **/
    public Integer getSortIndexMin() {
        return sortIndexMin;
    }

    /** 设置最小排序号(越小越靠前) **/
    public void setSortIndexMin(Integer sortIndexMin) {
        this.sortIndexMin = sortIndexMin;
    }

    /** 获取最大排序号(越小越靠前) **/
    public Integer getSortIndexMax() {
        return sortIndexMax;
    }

    /** 设置最大排序号(越小越靠前) **/
    public void setSortIndexMax(Integer sortIndexMax) {
        this.sortIndexMax = sortIndexMax;
    }

    /** 判断创建人ID是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getCreatorIdIsNull() {
        return creatorIdIsNull;
    }

    /** 设置创建人ID空值查询(true:空值查询|false:非空值查询) **/
    public void setCreatorIdIsNull(Boolean creatorIdIsNull) {
        this.creatorIdIsNull = creatorIdIsNull;
    }

    /** 获取创建人ID前模匹配条件 **/
    public String getCreatorIdStarts() {
        return creatorIdStarts;
    }

    /** 设置创建人ID前模匹配条件 **/
    public void setCreatorIdStarts(String creatorIdStarts) {
        this.creatorIdStarts = creatorIdStarts;
    }

    /** 获取创建人ID后模匹配条件 **/
    public String getCreatorIdEnds() {
        return creatorIdEnds;
    }

    /** 设置创建人ID后模匹配条件 **/
    public void setCreatorIdEnds(String creatorIdEnds) {
        this.creatorIdEnds = creatorIdEnds;
    }

    /** 获取创建人ID模糊查询条件 **/
    public String getCreatorIdLike() {
        return creatorIdLike;
    }

    /** 设置创建人ID模糊查询条件 **/
    public void setCreatorIdLike(String creatorIdLike) {
        this.creatorIdLike = creatorIdLike;
    }

    /** 判断创建人姓名是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getCreatorNameIsNull() {
        return creatorNameIsNull;
    }

    /** 设置创建人姓名空值查询(true:空值查询|false:非空值查询) **/
    public void setCreatorNameIsNull(Boolean creatorNameIsNull) {
        this.creatorNameIsNull = creatorNameIsNull;
    }

    /** 获取创建人姓名前模匹配条件 **/
    public String getCreatorNameStarts() {
        return creatorNameStarts;
    }

    /** 设置创建人姓名前模匹配条件 **/
    public void setCreatorNameStarts(String creatorNameStarts) {
        this.creatorNameStarts = creatorNameStarts;
    }

    /** 获取创建人姓名后模匹配条件 **/
    public String getCreatorNameEnds() {
        return creatorNameEnds;
    }

    /** 设置创建人姓名后模匹配条件 **/
    public void setCreatorNameEnds(String creatorNameEnds) {
        this.creatorNameEnds = creatorNameEnds;
    }

    /** 获取创建人姓名模糊查询条件 **/
    public String getCreatorNameLike() {
        return creatorNameLike;
    }

    /** 设置创建人姓名模糊查询条件 **/
    public void setCreatorNameLike(String creatorNameLike) {
        this.creatorNameLike = creatorNameLike;
    }

    /** 获取最小创建时间 **/
    public Date getCreateTimeMin() {
        return createTimeMin;
    }

    /** 设置最小创建时间 **/
    public void setCreateTimeMin(Date createTimeMin) {
        this.createTimeMin = createTimeMin;
    }

    /** 获取最大创建时间 **/
    public Date getCreateTimeMax() {
        return createTimeMax;
    }

    /** 设置最大创建时间 **/
    public void setCreateTimeMax(Date createTimeMax) {
        this.createTimeMax = createTimeMax;
    }

    /** 获取最小创建时间 **/
    public Date getCreateTimeMinWithDay() {
        return createTimeMinWithDay;
    }

    /** 设置最小创建时间 **/
    public void setCreateTimeMinWithDay(Date createTimeMinWithDay) {
        this.createTimeMinWithDay = createTimeMinWithDay;
    }

    /** 获取最大创建时间 **/
    public Date getCreateTimeMaxWithDay() {
        return createTimeMaxWithDay;
    }

    /** 设置最大创建时间 **/
    public void setCreateTimeMaxWithDay(Date createTimeMaxWithDay) {
        this.createTimeMaxWithDay = createTimeMaxWithDay;
    }

    /** 判断默认角色(如果用户没有任何角色,默认会赋予该角色)是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getDefaultsIsNull() {
        return defaultsIsNull;
    }

    /**
     * 设置默认角色(如果用户没有任何角色,默认会赋予该角色)空值查询(true:空值查询|false:非空值查询)
     *
     * @param defaultsIsNull 默认角色(如果用户没有任何角色,默认会赋予该角色)空值查询
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setDefaultsIsNull(Boolean defaultsIsNull) {
        this.defaultsIsNull = defaultsIsNull;
    }

    /** 判断选项是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getOptionsIsNull() {
        return optionsIsNull;
    }

    /** 设置选项空值查询(true:空值查询|false:非空值查询) **/
    public void setOptionsIsNull(Boolean optionsIsNull) {
        this.optionsIsNull = optionsIsNull;
    }

}